package ${domain}.module.wsys.mgr;

import ${domain}.frame.auth.Token;
import ${domain}.module.wsys.req.DataErrorRequest;
import ${domain}.module.wsys.req.DataLoginRequest;
import ${domain}.module.wsys.req.DataTaskRequest;
import ${domain}.module.wsys.req.DataTotalRequest;
import ${domain}.module.wsys.rsp.DataErrorResponse;
import ${domain}.module.wsys.rsp.DataLoginResponse;
import ${domain}.module.wsys.rsp.DataTaskResponse;
import ${domain}.module.wsys.rsp.DataTotalResponse;

/**
 * 数据业务类
 *
 * @author author
 * @version 0.0.1
 * @since 2017-01-01
 */
public interface DataManager {

    /**
     * 各业务数据统计
     *
     * @param request 请求对象
     * @param token   令牌
     * @return
     */
    DataTotalResponse total(DataTotalRequest request, Token token);

    /**
     * 登录统计
     *
     * @param request 请求对象
     * @param token   令牌
     * @return
     */
    DataLoginResponse login(DataLoginRequest request, Token token);

    /**
     * 故障统计
     *
     * @param request 请求对象
     * @param token   令牌
     * @return
     */
    DataErrorResponse error(DataErrorRequest request, Token token);

    /**
     * 任务统计
     *
     * @param request 请求对象
     * @param token   令牌
     * @return
     */
    DataTaskResponse task(DataTaskRequest request, Token token);
}
